#ifndef _EDRENDEROBJECTS_H_
#define _EDRENDEROBJECTS_H_

#include "vec3.h"
#include "matrix4.h"
#include <windows.h>
#include <gl/gl.h>
#include <gl/glu.h>
#include <gl/glut.h>

#include "EDSphere.h"

//This class defines Render State settings that can be instanced by an EDRenderShape 
//object to sort what RenderSet lists an EDRenderShape would go into.
//Students will implement the necessary members of EDAppearance.
class EDAppearance
{
	public:

		//A Dummy COnstructor
		EDAppearance(void)
		{
		}

		//Do-nothing Destuctor
		~EDAppearance(void) {}


		EDAppearance(const EDAppearance & appear)
		{
		}

		
		EDAppearance & operator=(const EDAppearance & appear)
		{
			return *this;
		}

};

//This class will represent the Object we are drawing in the world. It will 
//have areference to an EDAppearance that will be used by the RenderS ystem  
//for sorting. Students will implement the necessary members of EDRenderShape. 
class EDRenderShape
{
	private:

		bool m_bInFrustum;

	public:
		
		EDSphere m_TestSphere;
	
	public:

		
		EDRenderShape() 
		{
			m_bInFrustum = false;
		}

		EDRenderShape(const EDRenderShape & shape)
		{
		}


		EDRenderShape & operator=(const EDRenderShape & shape)
		{
			return *this;
		}

		~EDRenderShape(void)
		{
		}

		void SetInFrustum(bool bInFrustum)
		{
			
		}

		bool GetInFrustum(void)
		{

		}
};


#endif